# 定义嵌套列表：每个子列表存一个学生的信息（姓名、年龄、技能/方向）
student_list = [["张三", "18", "功能测试"], ["李四", "20", "自动化测试"], ["王五", "22", ["python", "java"]]]


# 1. 找"18"（张三的年龄）——分步
print(student_list[0])  # 先取张三的信息子列表：['张三', '18', '功能测试']
aa = student_list

# 1. 找"18"——简化（直接用多层索引）
print(student_list[0][1])  # 外层0=张三子列表，内层1=年龄"18"


# 2. 找"李四"（李四的姓名）[0]    # 把张三的子列表存到aa
print(aa[1])            # 从aa里取年龄"18"

print(student_list[1][0])  # 外层1=李四子列表，内层0=姓名"李四"


# 3. 找"java"（王五的技能）
print(student_list[2][2][1])  # 外层2=王五子列表，中层2=技能子列表，内层1=java（原代码多写1个v，正确是java）


# 功能：用嵌套列表存多组登录数据，遍历验证不同情况的登录结果（成功/账号密码错/验证码错）
# 嵌套列表说明：每个子列表 = [手机号, 密码, 验证码]，对应一组登录测试数据
login_data = [
    ["13488888888", "123456", "8888"],  # 手机号+密码+验证码都对（预期登录成功）
    ["13488888888", "666666", "8888"],  # 手机号对、密码错（预期账号密码错误）
    ["13488888880", "123456", "8888"],  # 手机号错、密码对（预期账号密码错误）
    ["13488888888", "123456", "0000"]   # 手机号+密码对、验证码错（预期验证码错误）
]

# 遍历登录数据：逐个取出每组登录信息（i代表当前组数据，如["13488888888", "123456", "8888"]）
for i in login_data:
    # 第一步：验证手机号（i[0]）和密码（i[1]）是否正确（正确值：13488888888 + 123456）
    if i[0] == "13488888888" and i[1] == "123456":
        # 第二步：手机号密码正确，再验证验证码（i[2]）是否正确（正确值：8888）
        if i[2] == "8888":
            print("登录成功")  # 验证码也对，登录成功
        else:
            print("验证码错误")  # 验证码错
    else:
        print("用户名或密码错误")  # 手机号或密码错